/**
 * Created by yoya on 2016/11/3.
 */
(function () {
    //获取url中指定参数
    //页面加载完成

    var uuId = window.sessionStorage.getItem("uuId"),tempUUid = "";
    if(!uuId){
        tempUUid = getUuid(8,16);
        window.sessionStorage.setItem("uuId",tempUUid);
        document.onreadystatechange = completeLoading;
    }else{
        tempUUid = uuId;
    }

    function completeLoading() {
        if (document.readyState == "complete") {
            o_ajax({
                type: "post",
                url: "/api/index.php",
                data: {
                    type:"setcookie",
                    jsCookie:tempUUid
                }
            })
        }
    }

    var interval_output = setInterval(function () {
        sendOnlinemsg()
    }, 3000);

    //发送信息
    function sendOnlinemsg() {
        o_ajax({
            type: "post",
            url: "/api/index.php",
            data: {
                type:"setcookie",
                jsCookie: tempUUid
            }
        })
    }
    function getUuid(len, radix) {
        var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
        var uuid = [], i;
        radix = radix || chars.length;

        if (len) {
            // Compact form
            for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
        } else {
            // rfc4122, version 4 form
            var r;

            // rfc4122 requires these characters
            uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
            uuid[14] = '4';

            // Fill in random data.  At i==19 set the high bits of clock sequence as
            // per rfc4122, sec. 4.1.5
            for (i = 0; i < 36; i++) {
                if (!uuid[i]) {
                    r = 0 | Math.random() * 16;
                    uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
                }
            }
        }

        return uuid.join('');
    }

    // ajax({
    //     url: "./TestXHR.aspx",              //请求地址
    //     type: "POST",                       //请求方式
    //     data: { name: "super", age: 20 },        //请求参数
    //     dataType: "json",
    //     success: function (response, xml) {
    //         // 此处放成功后执行的代码
    //     },
    //     fail: function (status) {
    //         // 此处放失败后执行的代码
    //     }
    // });
    //ajax请求
    function o_ajax(options) {
        options = options || {};
        options.type = (options.type || "GET").toUpperCase();
        options.dataType = options.dataType || "json";
        var params = formatParams(options.data);

        //创建 - 非IE6 - 第一步
        if (window.XMLHttpRequest) {
            var xhr = new XMLHttpRequest();
        } else { //IE6及其以下版本浏览器
            var xhr = new ActiveXObject('Microsoft.XMLHTTP');
        }

        //接收 - 第三步
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                var status = xhr.status;
                if (status >= 200 && status < 300) {
                    options.success && options.success(xhr.responseText, xhr.responseXML);
                } else {
                    options.fail && options.fail(status);
                }
            }
        }

        //连接 和 发送 - 第二步
        if (options.type == "GET") {
            xhr.open("GET", options.url + "?" + params, true);
            xhr.send(null);
        } else if (options.type == "POST") {
            xhr.open("POST", options.url, true);
            //设置表单提交时的内容类型
            xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            xhr.send(params);
        }
    }
    //格式化参数
    function formatParams(data) {
        var arr = [];
        for (var name in data) {
            arr.push(encodeURIComponent(name) + "=" + encodeURIComponent(data[name]));
        }
        // arr.push(("v=" + Math.random()).replace(".",""));
        return arr.join("&");
    }

    window.o_ajax = o_ajax;

})()